package com.ruoyi.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.List;

/**
 * 专家管理对象 sys_expert
 * 
 * @author ruoyi
 * @date 2024-07-31
 */
public class SysExpert extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    private List<String> noExpertId;

    private List<String> expertIds;

    /** 专家姓名 */
    @Excel(name = "专家姓名")
    private String expertName;

    /** 手机号码 */
    @Excel(name = "手机号码")
    private String mobile;

    /** 证件类型ID */
    @Excel(name = "证件类型ID")
    private Integer identityTypeId;

    /** 证件类型 */
    @Excel(name = "证件类型")
    private String identityTypeName;

    /** 证件号码 */
    @Excel(name = "证件号码")
    private String identityCode;

    /** 地区ID */
    @Excel(name = "地区ID")
    private Long areaId;

    /** 地区 */
    @Excel(name = "地区")
    private String areaName;

    /** 专家类型ID */
    @Excel(name = "专家类型ID")
    private Long expertTypeId;

    /** 专家类型：:1=评标专家,2=业主代表 */
    @Excel(name = "专家类型：:1=评标专家,2=业主代表")
    private String expertTypeName;

    /** 性别:1=男,2=女 */
    @Excel(name = "性别:1=男,2=女")
    private Integer sex;

    /** 邮箱 */
    @Excel(name = "邮箱")
    private String email;

    /** 专家品目ID */
    @Excel(name = "专家品目ID")
    private String expertCategoryId;

    private List<String> expertCategoryIds;

    /** 专家品目 */
    @Excel(name = "专家品目")
    private String expertCategoryName;

    /** 是否在职:1=在职, 2=退休 */
    @Excel(name = "是否在职:1=在职, 2=退休")
    private Integer isOnJob;

    /** 工作单位 */
    @Excel(name = "工作单位")
    private String workCompany;

    /** 毕业院校 */
    @Excel(name = "毕业院校")
    private String graduatedFrom;

    /** 最高学历 */
    @Excel(name = "最高学历")
    private String highestEducation;

    /** 技术职称 */
    @Excel(name = "技术职称")
    private String technicaTitle;

    /** 职务 */
    @Excel(name = "职务")
    private String postition;

    /** 专家地址 */
    @Excel(name = "专家地址")
    private String addr;

    /** 加入专家库:0=否,1=是 */
    @Excel(name = "加入专家库:0=否,1=是")
    private Integer isJoinExpertDb;

    /** 有效:0=无效,1=有效 */
    @Excel(name = "有效:0=无效,1=有效")
    private Integer status;

    /** 开户行 */
    @Excel(name = "开户行")
    private String bankName;

    /** 银行账号 */
    @Excel(name = "银行账号")
    private String bankAccount;

    /** 身份证附件 */
    @Excel(name = "身份证附件")
    private String attachmentOtherImage;

    /** 职称证附件 */
    @Excel(name = "职称证附件")
    private String attachmentImage;

    /** 专业类型 */
    @Excel(name = "专业类型")
    private Integer professionalTypeSelect;

    /** 备注 */
    @Excel(name = "备注")
    private String categoryCodeRemark;

    /** 工作年限 */
    @Excel(name = "工作年限")
    private Integer workingYears;

    /** 登录名 */
    @Excel(name = "登录名")
    private String userName;

    /** 密码 */
    @Excel(name = "密码")
    private String password;

    /** 密码附加 */
    @Excel(name = "密码附加")
    private String pwdPlaintext;

    /** 审批状态:0=待审核,1=已审核,2=审核未通过 */
    @Excel(name = "审批状态:0=待审核,1=已审核,2=审核未通过")
    private Integer approvalStatus;

    /** 审核备注 */
    @Excel(name = "审核备注")
    private String approvalRemark;

    /** 来源:1=自增加,2=专家注册 */
    @Excel(name = "来源:1=自增加,2=专家注册")
    private Integer fromType;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setExpertName(String expertName) 
    {
        this.expertName = expertName;
    }

    public String getExpertName() 
    {
        return expertName;
    }
    public void setMobile(String mobile) 
    {
        this.mobile = mobile;
    }

    public String getMobile() 
    {
        return mobile;
    }
    public void setIdentityTypeId(Integer identityTypeId) 
    {
        this.identityTypeId = identityTypeId;
    }

    public Integer getIdentityTypeId() 
    {
        return identityTypeId;
    }
    public void setIdentityTypeName(String identityTypeName) 
    {
        this.identityTypeName = identityTypeName;
    }

    public String getIdentityTypeName() 
    {
        return identityTypeName;
    }
    public void setIdentityCode(String identityCode) 
    {
        this.identityCode = identityCode;
    }

    public String getIdentityCode() 
    {
        return identityCode;
    }
    public void setAreaId(Long areaId) 
    {
        this.areaId = areaId;
    }

    public Long getAreaId() 
    {
        return areaId;
    }
    public void setAreaName(String areaName) 
    {
        this.areaName = areaName;
    }

    public String getAreaName() 
    {
        return areaName;
    }
    public void setExpertTypeId(Long expertTypeId) 
    {
        this.expertTypeId = expertTypeId;
    }

    public Long getExpertTypeId() 
    {
        return expertTypeId;
    }
    public void setExpertTypeName(String expertTypeName) 
    {
        this.expertTypeName = expertTypeName;
    }

    public String getExpertTypeName() 
    {
        return expertTypeName;
    }
    public void setSex(Integer sex) 
    {
        this.sex = sex;
    }

    public Integer getSex() 
    {
        return sex;
    }
    public void setEmail(String email) 
    {
        this.email = email;
    }

    public String getEmail() 
    {
        return email;
    }
    public void setExpertCategoryId(String expertCategoryId) 
    {
        this.expertCategoryId = expertCategoryId;
    }

    public String getExpertCategoryId() 
    {
        return expertCategoryId;
    }
    public void setExpertCategoryName(String expertCategoryName) 
    {
        this.expertCategoryName = expertCategoryName;
    }

    public String getExpertCategoryName() 
    {
        return expertCategoryName;
    }
    public void setIsOnJob(Integer isOnJob) 
    {
        this.isOnJob = isOnJob;
    }

    public Integer getIsOnJob() 
    {
        return isOnJob;
    }
    public void setWorkCompany(String workCompany) 
    {
        this.workCompany = workCompany;
    }

    public String getWorkCompany() 
    {
        return workCompany;
    }
    public void setGraduatedFrom(String graduatedFrom) 
    {
        this.graduatedFrom = graduatedFrom;
    }

    public String getGraduatedFrom() 
    {
        return graduatedFrom;
    }
    public void setHighestEducation(String highestEducation) 
    {
        this.highestEducation = highestEducation;
    }

    public String getHighestEducation() 
    {
        return highestEducation;
    }
    public void setTechnicaTitle(String technicaTitle) 
    {
        this.technicaTitle = technicaTitle;
    }

    public String getTechnicaTitle() 
    {
        return technicaTitle;
    }
    public void setPostition(String postition) 
    {
        this.postition = postition;
    }

    public String getPostition() 
    {
        return postition;
    }
    public void setAddr(String addr) 
    {
        this.addr = addr;
    }

    public String getAddr() 
    {
        return addr;
    }
    public void setIsJoinExpertDb(Integer isJoinExpertDb) 
    {
        this.isJoinExpertDb = isJoinExpertDb;
    }

    public Integer getIsJoinExpertDb() 
    {
        return isJoinExpertDb;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    public void setBankName(String bankName) 
    {
        this.bankName = bankName;
    }

    public String getBankName() 
    {
        return bankName;
    }
    public void setBankAccount(String bankAccount) 
    {
        this.bankAccount = bankAccount;
    }

    public String getBankAccount() 
    {
        return bankAccount;
    }
    public void setAttachmentOtherImage(String attachmentOtherImage) 
    {
        this.attachmentOtherImage = attachmentOtherImage;
    }

    public String getAttachmentOtherImage() 
    {
        return attachmentOtherImage;
    }
    public void setAttachmentImage(String attachmentImage) 
    {
        this.attachmentImage = attachmentImage;
    }

    public String getAttachmentImage() 
    {
        return attachmentImage;
    }
    public void setProfessionalTypeSelect(Integer professionalTypeSelect) 
    {
        this.professionalTypeSelect = professionalTypeSelect;
    }

    public Integer getProfessionalTypeSelect() 
    {
        return professionalTypeSelect;
    }
    public void setCategoryCodeRemark(String categoryCodeRemark) 
    {
        this.categoryCodeRemark = categoryCodeRemark;
    }

    public String getCategoryCodeRemark() 
    {
        return categoryCodeRemark;
    }
    public void setWorkingYears(Integer workingYears) 
    {
        this.workingYears = workingYears;
    }

    public Integer getWorkingYears() 
    {
        return workingYears;
    }
    public void setUserName(String userName) 
    {
        this.userName = userName;
    }

    public String getUserName() 
    {
        return userName;
    }
    public void setPassword(String password) 
    {
        this.password = password;
    }

    public String getPassword() 
    {
        return password;
    }
    public void setPwdPlaintext(String pwdPlaintext) 
    {
        this.pwdPlaintext = pwdPlaintext;
    }

    public String getPwdPlaintext() 
    {
        return pwdPlaintext;
    }
    public void setApprovalStatus(Integer approvalStatus) 
    {
        this.approvalStatus = approvalStatus;
    }

    public Integer getApprovalStatus() 
    {
        return approvalStatus;
    }
    public void setApprovalRemark(String approvalRemark) 
    {
        this.approvalRemark = approvalRemark;
    }

    public String getApprovalRemark() 
    {
        return approvalRemark;
    }
    public void setFromType(Integer fromType) 
    {
        this.fromType = fromType;
    }

    public Integer getFromType() 
    {
        return fromType;
    }

    public void setExpertCategoryIds(List<String> expertCategoryIds){ this.expertCategoryIds = expertCategoryIds; }
    public List<String> getExpertCategoryIds(){ return expertCategoryIds; }

    public void setNoExpertId(List<String> noExpertId){ this.noExpertId = noExpertId; }
    public List<String> getNoExpertId(){ return noExpertId; }

    public void setExpertIds(List<String> expertIds){ this.expertIds = expertIds; }
    public List<String> getExpertIds(){ return expertIds; }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("expertName", getExpertName())
            .append("mobile", getMobile())
            .append("identityTypeId", getIdentityTypeId())
            .append("identityTypeName", getIdentityTypeName())
            .append("identityCode", getIdentityCode())
            .append("areaId", getAreaId())
            .append("areaName", getAreaName())
            .append("expertTypeId", getExpertTypeId())
            .append("expertTypeName", getExpertTypeName())
            .append("sex", getSex())
            .append("email", getEmail())
            .append("expertCategoryId", getExpertCategoryId())
            .append("expertCategoryName", getExpertCategoryName())
            .append("isOnJob", getIsOnJob())
            .append("workCompany", getWorkCompany())
            .append("graduatedFrom", getGraduatedFrom())
            .append("highestEducation", getHighestEducation())
            .append("technicaTitle", getTechnicaTitle())
            .append("postition", getPostition())
            .append("addr", getAddr())
            .append("remark", getRemark())
            .append("isJoinExpertDb", getIsJoinExpertDb())
            .append("status", getStatus())
            .append("bankName", getBankName())
            .append("bankAccount", getBankAccount())
            .append("attachmentOtherImage", getAttachmentOtherImage())
            .append("attachmentImage", getAttachmentImage())
            .append("professionalTypeSelect", getProfessionalTypeSelect())
            .append("categoryCodeRemark", getCategoryCodeRemark())
            .append("workingYears", getWorkingYears())
            .append("userName", getUserName())
            .append("password", getPassword())
            .append("pwdPlaintext", getPwdPlaintext())
            .append("approvalStatus", getApprovalStatus())
            .append("approvalRemark", getApprovalRemark())
            .append("fromType", getFromType())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
